package basic_practice_1028;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
 * @author MemoryC
 * */

public class Main {

	public static void main(String[] args) throws IOException {

//		Scanner scanner=new Scanner(System.in);
//
//		while(scanner.hasNext()) {
//
//			String A=scanner.next();
//			String B=scanner.next();
//
//			System.out.println(contains(A,B)?"Yes":"No");
//
//		}
//		scanner.close();

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String line;
		while((line=br.readLine())!=null){
			String[]ss=line.trim().split(" ");
			System.out.println(contains(ss[0],ss[1])?"Yes":"No");
		}
    }

    public static boolean contains(String A,String B){
		Map<Character,Integer> aMap=new HashMap<>();

		char[]aChars=A.toCharArray();
		char[]bChars=B.toCharArray();

		for(char c:aChars){
			if(aMap.containsKey(c)){
				aMap.put(c,aMap.get(c)+1);
			}else{
				aMap.put(c,1);
			}
		}

		for(char c:bChars){
			if(aMap.containsKey(c)){
				int cCount=aMap.get(c);
				if(cCount<=0){
					return false;
				}
				aMap.put(c,cCount-1);
			}else{
				return false;
			}
		}
		return true;
	}
}